/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.pebom.util;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.pebom.empresa.Produto;

/**
 *
 * @author Drury
 */
public class ProdutosDAO {
     private static ProdutosDAO produtosDAO;

    public static ProdutosDAO getInstance() {
        if (produtosDAO == null) {
            produtosDAO = new ProdutosDAO();
        }
        return produtosDAO;
    }



   public void insertProduto(Produto produto ) throws SQLException {
       
       
        String sql = "insert into Produtos (nome, categoria, descricao, preco, qtdEstoque) values ('"  + produto.getNome() + "','"  + produto.getCategoria() + "','"  + produto.getDescricao()  + "',"  +  produto.getPreco()  + ","  + produto.getQtdEstoque() + ")";
        BD.getInstance().getConn().createStatement().execute(sql);
        System.out.println("Inseriu Produto no BD");
    }
   
//   public int buscaID() throws SQLException {
//       String sql = "select MAX(id) from recursos";
//       ResultSet resultInt = BD.getInstance().getConn().createStatement().executeQuery(sql);
//       int id = 1;
//       while (resultInt.next()){
//            id = resultInt.getInt(1);
//       }
//      
//       return id;
//   }

    public List<Produto> buscar() throws SQLException {
        List<Produto> produtos = new ArrayList<Produto>();
        String sql = "select * from produtos";
        ResultSet results = BD.getInstance().getConn().createStatement().executeQuery(sql);


        while (results.next()) {
           Produto produto = new Produto();
           produto.setId(results.getInt(1));
           produto.setNome(results.getString(2));
           produto.setCategoria(results.getString(3));
           produto.setDescricao(results.getString(4));
           produto.setPreco(results.getFloat(5));
           produto.setQtdEstoque(results.getInt(6));
           
           produtos.add(produto);

        }
        results.close();
        System.out.println("Buscou Produtos do BD");
        return produtos;
    }
    
    public List<Produto> buscar(int id, String nome) throws SQLException {
        List<Produto> produtos = new ArrayList<Produto>();
        String sql = "select * from produtos where id="+id+" or nome='"+nome+"'";
        ResultSet results = BD.getInstance().getConn().createStatement().executeQuery(sql);


        while (results.next()) {
            Produto produto = new Produto();
           produto.setId(results.getInt(1));
           produto.setNome(results.getString(2));
           produto.setCategoria(results.getString(3));
           produto.setDescricao(results.getString(4));
           produto.setPreco(results.getFloat(5));
           produto.setQtdEstoque(results.getInt(6));
           produtos.add(produto);
           

        }
        results.close();
        return produtos;
    }
    
    
    
    
}
